로딩 중이에요... 🐣
[코담]
웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트
pandas Part6 FastAPI로 머신러닝 모델 웹 앱 | ✅ 편저: 코담 운영자
📖 데이터 분석의 시작, Pandas 완전 정복 - Part 6: FastAPI로 머신러닝 모델 웹 앱 만들기
✨ 서론: Flask에서 FastAPI로 업그레이드
앞선 Part 5에서는 Flask를 사용해 머신러닝 모델을 웹 앱으로 배포했습니다. 이번 Part 6에서는 더 빠르고 현대적인 Python 웹 프레임워크인 FastAPI로 Titanic 생존자 예측 모델 웹 앱을 만들어봅니다.
⚡️ FastAPI 장점: 비동기 처리, OpenAPI 문서 자동 생성, 뛰어난 성능
🛠️ Step 1: 필요한 라이브러리 설치
pip install fastapi uvicorn scikit-learn pandas joblib
📦 Step 2: 모델 로드
import joblib
# 저장된 모델 로드
titanic_model = joblib.load('titanic_model.pkl')
🌐 Step 3: FastAPI 앱 기본 구조
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Passenger(BaseModel):
Pclass: int
Sex: int
Age: float
Fare: float
SibSp: int
Parch: int
Embarked: int
@app.get("/")
def read_root():
return {"message": "Titanic 생존자 예측 API에 오신 것을 환영합니다!"}
@app.post("/predict")
def predict_survival(passenger: Passenger):
data = [[
passenger.Pclass,
passenger.Sex,
passenger.Age,
passenger.Fare,
passenger.SibSp,
passenger.Parch,
passenger.Embarked
]]
prediction = titanic_model.predict(data)
result = "생존" if prediction[0] == 1 else "사망"
return {"예측 결과": result}
🚀 Step 4: FastAPI 앱 실행
uvicorn app:app --reload
- 브라우저에서
http://127.0.0.1:8000
접속 - API 문서 자동 생성:
http://127.0.0.1:8000/docs
📌 확장: 사용자 입력 폼 추가 (HTML + JavaScript)
FastAPI는 기본적으로 API 서버이므로, 사용자 UI를 추가하려면 별도의 Frontend(HTML/CSS/JS) 또는 React/Vue와 연결 가능.
💡 실무 팁: Streamlit 또는 Gradio를 사용하면 머신러닝 모델 웹 UI를 더 빠르게 구축할 수 있습니다.
📌 결론 및 다음 단계
- FastAPI로 배포한 API는 다른 서비스와 쉽게 연동 가능
- Docker 및 클라우드 환경에 배포 준비
- 인증/권한 기능 추가하여 실전 서비스화
🎯 최종 목표: Pandas → Scikit-learn → FastAPI까지 한 번에 이어지는 데이터 사이언스 파이프라인 완성!